<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <input type="text" id="txt">
    <span></span>
</body>
<script>
    var otxt = document.getElementById('txt');

    otxt.onblur = function(){
        // this.value
        // 提前准备变量，用来记录每种类型是否出现。如果出现，改成1
        var a=b=c=0;

        for(var i=0;i<this.value.length;i++){
            // 是否出现数字
            if(this.value[i]>=0 && this.value[i]<=9){
                a=1;
            }
            // 是否出现字母
            if(this.value.charCodeAt(i)>=65 && this.value.charCodeAt(i)<=90 || this.value.charCodeAt(i)>=97 && this.value.charCodeAt(i)<=122){
                b=1;
            }
            // 特殊字符
            if(this.value.charCodeAt(i)>=33 && this.value.charCodeAt(i)<=47){
                c=1;
            }
        }

        // 遍历结束后，将所有的记录加起来，根据结果判断强度
        switch(a+b+c){
            case 1:this.nextElementSibling.innerHTML = "差";break;
            case 2:this.nextElementSibling.innerHTML = "中";break;
            case 3:this.nextElementSibling.innerHTML = "强";break;
        }
    }

</script>
</html>